


import java.io.FileReader;
import java.util.Random;

/**
 *
 * @author Eric Beaudry
 */
public class TestPolitique1 {

    private static Random random = new Random();
    private static int maxcoup = 5000;
    
    public static int simulateGame(Plateau plateau, PolitiqueSimple politique){
        int c = 0;
        int nb = 0;
        while(c!=plateau.nbCases-1 && nb<maxcoup){
            int a = politique.actions[c].getAvancement();
            c = plateau.getNextCase(c, a);
            nb++;
        }
        return nb;
    }
    
    public static void main(String args[]) throws Exception
    {
        if(args.length<3)
            System.err.println("java -cp SerpentsEchelles.jar TestPolitique1 plateau.txt politique1.txt [nbIteration [maxCoups]]");
        
        Plateau plateau = null;
        PolitiqueSimple politique = null;
        int nb = 100000;
        
        if(args.length>0)
            plateau = Plateau.load(new FileReader(args[0]));
        else
            plateau = Plateau.generate(500, 10, 250, 8, 30);
        
        if(args.length>1)
            politique = PolitiqueSimple.load(new FileReader(args[1]));
        else
            politique = GenPolitique1.generate(plateau);
        
        if(args.length>2)
            nb = Integer.parseInt(args[2]);

        if(args.length>3)
            maxcoup = Integer.parseInt(args[3]);
        
        long nbcoup = 0;
        for(int iter=0;iter<nb;iter++)
            nbcoup += simulateGame(plateau, politique);
        
        System.out.println("Nombre de coups moyens : " + ((double)nbcoup / nb));        
    }
}
